package com.wyzz.hr.util;

import java.math.BigDecimal;

import com.wyzz.hr.pojo.BenefitType;
import com.wyzz.hr.pojo.Empbenefit;
import com.wyzz.hr.pojo.Jobgrade;

public class BenefitVarDef {

	public BenefitVarDef(Empbenefit benefit, BenefitType benefitType,
			Jobgrade empJobgrade) {
		D1 = Double.valueOf(0.0D);
		D2 = Double.valueOf(0.0D);
		D3 = Double.valueOf(0.0D);
		D4 = Double.valueOf(0.0D);
		D10 = Double.valueOf(0.0D);
		D11 = Double.valueOf(0.0D);
		D12 = Double.valueOf(0.0D);
		D13 = Double.valueOf(0.0D);
		D14 = Double.valueOf(0.0D);
		D15 = Double.valueOf(0.0D);
		D16 = Double.valueOf(0.0D);
		D17 = Double.valueOf(0.0D);
		D18 = Double.valueOf(0.0D);
		D20 = Double.valueOf(0.0D);
		D21 = Double.valueOf(0.0D);
		D22 = Double.valueOf(0.0D);
		D23 = Double.valueOf(0.0D);
		D24 = Double.valueOf(0.0D);
		D25 = Double.valueOf(0.0D);
		D26 = Double.valueOf(0.0D);
		D27 = Double.valueOf(0.0D);
		D28 = Double.valueOf(0.0D);
		D29 = Double.valueOf(0.0D);
		D30 = Double.valueOf(0.0D);
		D31 = Double.valueOf(0.0D);
		D40 = Double.valueOf(0.0D);
		D41 = Double.valueOf(0.0D);
		if (benefit != null) {
			setD2(getDoubleValue(benefit.getEbfPensionAmount()));
			setD3(getDoubleValue(benefit.getEbfHousingAmount()));
			setD4(getDoubleValue(benefit.getEbfInsuranceAmount()));
		}
		if (benefitType != null) {
			setD20(getDoubleValue(benefitType.getEbfTypePensionUplimit()));
			setD21(getDoubleValue(benefitType.getEbfTypePensionLowlimit()));
			setD22(getDoubleValue(benefitType.getEbfTypeUnemploymentUplimit()));
			setD23(getDoubleValue(benefitType.getEbfTypeUnemploymentLowlimit()));
			setD24(getDoubleValue(benefitType.getEbfTypeMedicareUplimit()));
			setD25(getDoubleValue(benefitType.getEbfTypeMedicareLowlimit()));
			setD26(getDoubleValue(benefitType.getEbfTypeInjuryUplimit()));
			setD27(getDoubleValue(benefitType.getEbfTypeInjuryLowlimit()));
			setD28(getDoubleValue(benefitType.getEbfTypeChildbirthUplimit()));
			setD29(getDoubleValue(benefitType.getEbfTypeChildbirthLowlimit()));
			setD30(getDoubleValue(benefitType.getEbfTypeHousingUplimit()));
			setD31(getDoubleValue(benefitType.getEbfTypeHousingLowlimit()));
			setD40(getDoubleValue(benefitType.getEbfTypeOtherUplimit()));
			setD41(getDoubleValue(benefitType.getEbfTypeOtherLowlimit()));
		}
		if (empJobgrade != null) {
			if (empJobgrade.getJobGradeLevel() != null)
				setD1(Double.valueOf(empJobgrade.getJobGradeLevel()
						.doubleValue()));
			if (empJobgrade.getJobGradeMrp() != null)
				setD10(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeMrp()).doubleValue()));
			if (empJobgrade.getJobGradeRef1() != null)
				setD11(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef1()).doubleValue()));
			if (empJobgrade.getJobGradeRef2() != null)
				setD12(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef2()).doubleValue()));
			if (empJobgrade.getJobGradeRef3() != null)
				setD13(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef3()).doubleValue()));
			if (empJobgrade.getJobGradeRef4() != null)
				setD14(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef4()).doubleValue()));
			if (empJobgrade.getJobGradeRef5() != null)
				setD15(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef5()).doubleValue()));
			if (empJobgrade.getJobGradeRef6() != null)
				setD16(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef6()).doubleValue()));
			if (empJobgrade.getJobGradeRef7() != null)
				setD17(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef7()).doubleValue()));
			if (empJobgrade.getJobGradeRef8() != null)
				setD18(Double.valueOf(MyTools.decryDecimal(empJobgrade.getId(),
						empJobgrade.getJobGradeRef8()).doubleValue()));
		}
	}

	private Double getDoubleValue(BigDecimal bigDecimal) {
		if (bigDecimal == null)
			return Double.valueOf(0.0D);
		else
			return Double.valueOf(bigDecimal.doubleValue());
	}

	public Double getD2() {
		return D2;
	}

	public void setD2(Double d2) {
		D2 = d2;
	}

	public Double getD3() {
		return D3;
	}

	public void setD3(Double d3) {
		D3 = d3;
	}

	public Double getD4() {
		return D4;
	}

	public void setD4(Double d4) {
		D4 = d4;
	}

	public Double getD1() {
		return new Double(D1.doubleValue());
	}

	public void setD1(Double d1) {
		D1 = d1;
	}

	public Double getD10() {
		return D10;
	}

	public void setD10(Double d10) {
		D10 = d10;
	}

	public Double getD11() {
		return D11;
	}

	public void setD11(Double d11) {
		D11 = d11;
	}

	public Double getD12() {
		return D12;
	}

	public void setD12(Double d12) {
		D12 = d12;
	}

	public Double getD13() {
		return D13;
	}

	public void setD13(Double d13) {
		D13 = d13;
	}

	public Double getD14() {
		return D14;
	}

	public void setD14(Double d14) {
		D14 = d14;
	}

	public Double getD15() {
		return D15;
	}

	public void setD15(Double d15) {
		D15 = d15;
	}

	public Double getD16() {
		return D16;
	}

	public void setD16(Double d16) {
		D16 = d16;
	}

	public Double getD17() {
		return D17;
	}

	public void setD17(Double d17) {
		D17 = d17;
	}

	public Double getD18() {
		return D18;
	}

	public void setD18(Double d18) {
		D18 = d18;
	}

	public Double getD20() {
		return D20;
	}

	public void setD20(Double d20) {
		D20 = d20;
	}

	public Double getD21() {
		return D21;
	}

	public void setD21(Double d21) {
		D21 = d21;
	}

	public Double getD22() {
		return D22;
	}

	public void setD22(Double d22) {
		D22 = d22;
	}

	public Double getD23() {
		return D23;
	}

	public void setD23(Double d23) {
		D23 = d23;
	}

	public Double getD24() {
		return D24;
	}

	public void setD24(Double d24) {
		D24 = d24;
	}

	public Double getD25() {
		return D25;
	}

	public void setD25(Double d25) {
		D25 = d25;
	}

	public Double getD26() {
		return D26;
	}

	public void setD26(Double d26) {
		D26 = d26;
	}

	public Double getD27() {
		return D27;
	}

	public void setD27(Double d27) {
		D27 = d27;
	}

	public Double getD28() {
		return D28;
	}

	public void setD28(Double d28) {
		D28 = d28;
	}

	public Double getD29() {
		return D29;
	}

	public void setD29(Double d29) {
		D29 = d29;
	}

	public Double getD30() {
		return D30;
	}

	public void setD30(Double d30) {
		D30 = d30;
	}

	public Double getD31() {
		return D31;
	}

	public void setD31(Double d31) {
		D31 = d31;
	}

	public Double getD40() {
		return D40;
	}

	public void setD40(Double d40) {
		D40 = d40;
	}

	public Double getD41() {
		return D41;
	}

	public void setD41(Double d41) {
		D41 = d41;
	}

	private Double D1;
	private Double D2;
	private Double D3;
	private Double D4;
	private Double D10;
	private Double D11;
	private Double D12;
	private Double D13;
	private Double D14;
	private Double D15;
	private Double D16;
	private Double D17;
	private Double D18;
	private Double D20;
	private Double D21;
	private Double D22;
	private Double D23;
	private Double D24;
	private Double D25;
	private Double D26;
	private Double D27;
	private Double D28;
	private Double D29;
	private Double D30;
	private Double D31;
	private Double D40;
	private Double D41;
}
